The invention relates generally systems for on-line transactions and, more particularly, to transaction architectures in client server communications employing markup language based electronic forms for processing transaction related information.
Client-server applications employing markup language based electronic documents, e.g. the World Wide Web, often involve forms (also referred to herein as xe2x80x9cforms pagesxe2x80x9d). Electronic commerce applications are particularly reliant on forms for receiving information from a party to a transaction that information which is necessary to complete the transaction. Especially as these applications are made available to devices with limited resolutions (compared to the displays commonly used with conventional personal computers or workstations) these forms are spanning multiple pages. This trend towards the proliferation of forms pages has at least two undesirable effects.
A first undesirable effect is that a succession of pages can become tedious and frustrating to the user. Users are frequently drawn to, for instance World Wide Web applications, because of their increased convenience over conventional methods of transacting. A tedious succession of forms pages to complete a transaction negates at least a portion of the user benefits to transacting in this way. xe2x80x9cImpulse transactionsxe2x80x9d are desirable from a consumer perspective, as they allow the consumer to immediately (or more nearly so) obtain and enjoy items they wish to consume and the tedious succession of forms pages may prevent xe2x80x9cimpulse transactions.xe2x80x9d Accordingly, it would be desirable for a system to exist that allowed for the reduction or elimination of the number of forms pages required for a user to complete a forms-based transaction application.
A second undesirable effect is that multiple forms pages involve multiple requests for resources of the server, thereby increasing server overhead. For instance, an operator of an electronic marketplace may have an appreciable amount of overhead costs devoted to hardware for adequate transaction processing abilities to serve customers promptly. If each transaction requires processing multiple forms pages, as the number of forms pages increases, the operator needs to invest in additional computing hardware to maintain the same level of prompt customer service. Thus it would be advantageous for means to exist by which server operators processing forms-based transactions could reduce the number of forms pages required to complete a transaction.
Increasingly, user transaction applications cultivate repeat usage through a user registration process or by storing for later use the information provided by users in previous transaction sessions. In either instance, a sever process carrying on a user transaction application may have available to it sufficient information to complete, at least some, of the form fields that are required to complete the user transaction application. Further, a repeat user may desire that the server process use the available sufficient information without confirmation to complete the user transaction application. In particular, for forms pages that contain only fields for which sufficient form field values are already available, given the user""s consent it may be desirable to suppress providing those forms pages to the user.
One conventional approach directed towards streamlining user transaction applications are conventional xe2x80x9cone-clickxe2x80x9d or xe2x80x9csingle stepxe2x80x9d ordering systems used in electronic commerce transactions. An exemplary system is described in WO9913424, entitled xe2x80x9cMethod and System for Placing a Purchase Order Via A Communications Networkxe2x80x9d for applicant Amazon.com. Single-step ordering systems do streamline product purchase transactions, however they do not provide a solution for automatic page suppression in forms. Typically xe2x80x9csingle-stepxe2x80x9d systems involve a pre-registration process in which a user enters the information necessary to complete transactions (generally spanning multiple forms pages) with the system. Then, when a subsequent transaction is initiated, either the entire series of transaction pages is skipped or the entire series of transaction pages must have their form field values re-entered by the user. That is, conventional systems provide no logic with respect to which aspects of a series of forms pages can be suppressed.
Conventional systems present significant disadvantages if the user is engaged in activity in addition to completing the user transaction application. For instance, when a user""s client application is a device that integrates television reception with, for instance HTTP client capability, the user may initiate a user transaction application in response to an interactive portion of a video program. In this context, the user could naturally desire to complete the user transaction application with dispatch so that they can return to viewing the video program. Conventional single-step systems would be inadequate solutions in this context. This is due, in part, to the fact that they typically require the user to process the entire series of forms pages to complete input of only a few form fields, when sufficient form field values are unavailable for the few form fields. Accordingly, there is a need for a system of automatic page suppression in forms that is flexible and optimized to suppress as much of a series of forms pages as can be suppressed with user consent.
In order to provide a solution to the forgoing and additional problems, aspects the present invention provide a method, apparatus, and system for automatic page suppression in forms.
One aspect of the invention involve methods for reducing the number of pages provided for user input in forms-based user transaction applications. An illustrative method includes examining a set of form fields associated with information required to complete a user transaction application for determining if sufficient form field values corresponding to the set of form fields are available to complete the user transaction application; and if at least one of the form field values corresponding to the set of form fields is unavailable, providing a page for receiving the at least one of the set of form field values; and otherwise providing a request to a successor page for further processing of the user transaction application. In a variation, the illustrative method includes providing a selectable option for determining whether the user transaction application should have the number of pages for user input reduced and, wherein reducing the number of pages provided for user input in forms-based user transaction applications occurs only if the selectable option is selected. In another variation, the set of form fields is divided among a plurality of ordered pages; and the step of providing a request to a successor page comprises redirecting a request to the successor page. Still further, providing a page for receiving the at least one of the set of form field values may include: repetitively adding at least one of the form fields corresponding to the at least one of the set of form field values to a developing page; and providing the developing page for receiving the at least one of the set of form field values. In an additional variation, adding at least one of the form fields may include determining if adding at least one of the form fields would result in the developing page, when rendered by a client application, to exceed predetermined limits, and; if not, adding the at least one of the form fields to the developing page.
Yet another aspect of the invention is a computing apparatus configured with programmed instructions for reducing the number of pages provided for user input in forms-based user transaction applications. The programmed instructions configure the computing apparatus to provide structures for implementing particular functions in accordance with some embodiments of the invention. In an illustrative computing apparatus, the programmed instructions configure the computing apparatus to provide structures for: examining a set of form fields associated with information required to complete a user transaction application; determining if sufficient form field values corresponding to the set of form fields are available to complete the user transaction application; and providing a page for receiving the at least one of the set of form field values if at least one of the form field values corresponding to the set of form fields is unavailable and otherwise providing a request to a successor page for further processing of the user transaction application. In a variation, the illustrative method includes providing a selectable option for determining whether said user transaction application should have the number of pages for user input reduced and, wherein reducing the number of pages provided for user input in forms-based user transaction applications occurs only if said selectable option is selected. In a variation the set of form fields is divided among a plurality of ordered pages; and providing a request to a successor page includes redirecting a request to the successor page. In addition, providing a page for receiving the at least one of the set of form field values may include repetitively adding at least one of the form fields corresponding to the at least one of the set of form field values to a developing page; and providing the developing page for receiving the at least one of the set of form field values. In a variation, adding at least one of the form fields may include determining if adding at least one of the form fields would result in the developing page, when rendered by a client application, to exceed predetermined limits, and if not, adding the at least one of the form fields to the developing page.
Yet another aspect of the invention is a computer program product comprising a computer readable storage medium having computer readable code embodied therein for reducing the number of pages provided for user input in forms-based user transaction applications,. The computer readable code includes code for examining a set of form fields associated with information required to complete a user transaction application; code for determining if sufficient form field values corresponding to the set of form fields are available to complete the user transaction application; and code for providing a page for receiving the at least one of the set of form field values if at least one of the form field values corresponding to the set of form fields is unavailable and otherwise providing a request to a successor page for further processing of the user transaction application. In another aspect, the code providing a page for receiving the at least one of the set of form field values may include: code for repetitively adding at least one of the form fields corresponding to the at least one of the set of form field values to a developing page; and code for providing the developing page for receiving the at least one of the set of form field values. Also, adding at least one of the form fields may include determining if adding at least one of the form fields would result in the developing page, when rendered by a client application, to exceed predetermined limits, and if not, adding the at least one of the form fields to the developing page. In another variation the set of form fields is divided among a plurality of ordered pages; and providing a request to a successor page comprises redirecting a request to the successor page.